import axios from 'axios'
// 导入message
import { Message } from 'element-ui'
import {getLocal,removeLocal} from '@/utils/local.js'
import router from '@/router/index.js'
// 创建一个axios副本(修改了axios的一些默认属性的一个新的axios)
let _fetch = axios.create({
  //修改一些默认属性
  baseURL: process.env.VUE_APP_URL,
  //   跨域带cookie到后端
  withCredentials: true
})

// 添加请求拦截器
_fetch.interceptors.request.use(
  function (config) {
    // 在发送请求之前做些什么
    config.headers.token=getLocal('token')
    return config
  },
  function (error) {
    // 对请求错误做些什么
    return Promise.reject(error)
  }
)
_fetch.interceptors.response.use(
    function (response) {
      // 对响应数据做点什么
      console.log('123',response)
      if (response.data.code == 200) {
        return response
      }else if(response.data.code == 206) {
        removeLocal('token')
        router.push('/login')
        return  Promise.reject(response.data.message)
      }
       else {
        //   提示一下
        //   如果response.data.code 不是200我们不希望.then执行,应该执行.catch
        // message使用
        Message.error(response.data.message)
        //   alert(response.data.message)
        //   不执行axios的.then,直接跳到.catch执行
        return Promise.reject(response.data.message)
      }
    },
    function (error) {
      // 对响应错误做点什么
      return Promise.reject(error)
    }
  )
export default _fetch